package xs.szw.service.model.pojo.oa;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 审批类型
 * @TableName oa_process
 */
@Schema(description = "审批类型")
@TableName(value ="oa_process")
@Data
public class Process implements Serializable {
    /**
     * id
     */
    @Schema(description = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 审批code
     */
    @Schema(description = "审批code")
    @TableField(value = "process_code")
    private String processCode;

    /**
     * 用户id
     */
    @Schema(description = "用户id")
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 审批模板id
     */
    @Schema(description = "审批模板id")
    @TableField(value = "process_template_id")
    private Long processTemplateId;

    /**
     * 审批类型id
     */
    @Schema(description = "审批类型id")
    @TableField(value = "process_type_id")
    private Long processTypeId;

    /**
     * 标题
     */
    @Schema(description = "标题")
    @TableField(value = "title")
    private String title;

    /**
     * 描述
     */
    @Schema(description = "描述")
    @TableField(value = "description")
    private String description;

    /**
     * 表单值
     */
    @Schema(description = "表单值")
    @TableField(value = "form_values")
    private String formValues;

    /**
     * 流程实例id
     */
    @Schema(description = "流程实例id")
    @TableField(value = "process_instance_id")
    private String processInstanceId;

    /**
     * 当前审批人
     */
    @Schema(description = "当前审批人")
    @TableField(value = "current_auditor")
    private String currentAuditor;

    /**
     * 状态（0：默认 1：审批中 2：审批通过 -1：驳回）
     */
    @Schema(description = "状态（0：默认 1：审批中 2：审批通过 -1：驳回）")
    @TableField(value = "status")
    private Integer status;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    @TableField(value = "update_time")
    private Date updateTime;

    /**
     * 删除标记（0:不可用 1:可用）
     */
    @Schema(description = "删除标记（0:不可用 1:可用）")
    @TableField(value = "is_deleted")
    @TableLogic
    private Integer isDeleted;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}